package com.qianxun.module.datasource1.develop.service;

import com.qianxun.module.datasource1.develop.entity.SysFunctionRoleRelation;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* com.zch.admin.base.entity.SysAdminFunctionRoleRelation模型业务接口
* @author: admin
* @date: 2019-11-27
* @version: 1.0.0
*/
public interface SysFunctionRoleRelationService extends IService<SysFunctionRoleRelation> {

    /**
     * 删除功能角色所有的功能权限映射
     * @param functionRoleId
     */
    void removeByFunctionRoleId(Integer functionRoleId);

    /**
     * 删除功能角色所有有的功能权限映射
     * @param functionRoleIdList 角色id
     */
    void removeByFunctionRoleIds(List<Integer> functionRoleIdList);

    /**
     * 查询指定功能角色id的所有信息
     * @param functionRoleId 功能角色的id
     * @return 功能角色与功能的映射信息
     */
    List<SysFunctionRoleRelation> listByFunctionRoleId(Integer functionRoleId);

    /**
     * 添加或更新功能角色的功能映射信息
     * @param functionRoleId 功能角色id
     * @param functionIds 功能id列表
     */
    void setAuthority(Integer functionRoleId, Integer[] functionIds);

    /**
     * 查询指定功能角色所映射的所有功能id
     * @param functionRoleId 功能角色id
     * @return
     */
    List<Integer> listFunctionIdByFunctionRoleId(Integer functionRoleId);

    /**
     * 查询指定功能id对应的所有功能角色信息
     * @param functionId 功能id
     * @return
     */
    List<String> listFunctionNameByFunctionId(Long functionId);
}